Rank-maximal matching